home *** CD-ROM | disk | FTP | other *** search
/ SPACE 1 / SPACE - Library 1 - Volume 1.iso / games / 281 / stos / orbit.bas (.txt) < prev    next >
Atari STOS Basic  |  1989-03-03  |  55KB  |  605 lines

  1. 1 REM ********************************
  2. 10 FADE
  3. 100 VARNAME
  4. 1000 VARNAME
  5. 10000 HIDE
  6. 10005 SPRITE
  7. 10010 IF
  8. 10015 SCREEN COPY
  9. 10030 RESET ZONE
  10. 10035 SET ZONE
  11. 10045 AUTO BACK
  12. 1005 GOSUB
  13. 10097 REM 
  14. 10098 REM ~~~~> Arrival of one bat
  15. 10099 REM 
  16. 1010 MUSIC
  17. 10100 SPRITE
  18. 10105 LOGIC
  19. 10115 SPRITE
  20. 10120 MOVE X
  21. 10125 MOVE
  22. 10130 SPRITE
  23. 10135 IF
  24. 10140 X MOUSE
  25. 10145 DEC
  26. 1015 IF
  27. 10197 REM 
  28. 10198 REM ~~~~> Draw all the blocks / set zones
  29. 10199 REM 
  30. 1020 VARNAME
  31. 10200 CLS
  32. 10205 FOR
  33. 10210 SCREEN$
  34. 10215 IF
  35. 10220 NEXT
  36. 10225 RETURN
  37. 1025 WHILE
  38. 10297 REM 
  39. 10298 REM ~~~~> Print score
  40. 10299 REM 
  41. 1030 VARNAME
  42. 10300 VARNAME
  43. 1035 VARNAME
  44. 1040 ON ERROR
  45. 1045 FOR
  46. 105 VARNAME
  47. 1050 CLOSE
  48. 1055 FOR
  49. 1060 IF
  50. 1065 GOSUB
  51. 1070 IF
  52. 1075 IF
  53. 1080 IF
  54. 1081 RETURN
  55. 1085 BOOM
  56. 1090 RESUME
  57. 1097 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  58. 1098 REM              One wave
  59. 1099 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  60. 11 RESERVE
  61. 110 FOR
  62. 115 RESTORE
  63. 1200 VARNAME
  64. 1205 VARNAME
  65. 1210 GOSUB
  66. 1215 IF
  67. 1220 REM anim 2,"(9,5)(10,5)(11,5)(10,5)l" : anim on 2
  68. 1225 VARNAME
  69. 125 RESTORE
  70. 1297 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  71. 1298 REM            Game loop
  72. 1299 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73. 130 RESTORE
  74. 1300 REPEAT
  75. 1305 IF
  76. 1310 VARNAME
  77. 1315 DEC
  78. 1320 IF
  79. 1325 VARNAME
  80. 1330 MOVE
  81. 1335 IF
  82. 1340 IF
  83. 1345 IF
  84. 135 RESTORE
  85. 1350 IF
  86. 1355 IF
  87. 1360 IF
  88. 1365 VARNAME
  89. 1370 MOVE X
  90. 1375 DEC
  91. 1385 VARNAME
  92. 1390 IF
  93. 1391 IF
  94. 1395 WAIT VBL
  95. 1399 REM ~~~~> End of play
  96. 140 RESTORE
  97. 1400 VARNAME
  98. 1405 IF
  99. 1410 IF
  100. 1415 IF
  101. 1420 ANIM
  102. 1425 FOR
  103. 1430 MOVE X
  104. 1435 FOR
  105. 1440 IF
  106. 1445 RETURN
  107. 145 FOR
  108. 15 VARNAME
  109. 150 VARNAME
  110. 155 VARNAME
  111. 197 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  112. 198 REM  Convert sprites into screen blocs
  113. 199 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  114. 1990 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  115. 1991 REM           Block effects
  116. 1992 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  117. 1999 REM ~~~~> Start of game / GLUE
  118. 19990 REM 
  119. 19991 REM 
  120. 19992 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  121. 19993 REM           SCREEN DESIGNER
  122. 19994 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  123. 19995 REM 
  124. 19996 REM 
  125. 2 REM *                              *
  126. 20 DIM
  127. 200 CLS
  128. 2000 MOVE
  129. 20000 FADE
  130. 20005 VARNAME
  131. 2005 VARNAME
  132. 2010 IF
  133. 20100 VARNAME
  134. 20105 GOSUB
  135. 2015 IF
  136. 20197 REM 
  137. 20198 REM ~~~~> Main loop
  138. 20199 REM 
  139. 2020 GOTO
  140. 20200 REPEAT
  141. 20205 VARNAME
  142. 20206 VARNAME
  143. 20207 IF
  144. 20210 WAIT VBL
  145. 20215 IF
  146. 20220 ON
  147. 20225 VARNAME
  148. 20230 IF
  149. 20235 CLS
  150. 20240 SCREEN COPY
  151. 20245 GOTO
  152. 2025 VARNAME
  153. 2030 MOVE X
  154. 2035 WHILE
  155. 20399 REM ~~~~> Load
  156. 2040 RETURN
  157. 20400 CLS
  158. 20405 IF
  159. 20410 IF
  160. 20415 IF
  161. 20420 ON ERROR
  162. 20425 LOCATE
  163. 20430 FOR
  164. 20435 CLOSE
  165. 20440 ON ERROR
  166. 20445 GOSUB
  167. 2045 VARNAME
  168. 20475 BOOM
  169. 20480 FOR
  170. 20485 RESUME
  171. 20499 REM ~~~~> Save pattern
  172. 205 FOR
  173. 2050 IF
  174. 20500 CLS
  175. 20505 IF
  176. 20510 IF
  177. 20515 IF
  178. 20520 ON ERROR
  179. 20525 LOCATE
  180. 20530 FOR
  181. 20535 CLOSE
  182. 20540 ON ERROR
  183. 20545 GOSUB
  184. 2055 SPRITE
  185. 20575 BOOM
  186. 20599 REM ~~~~> Play
  187. 20600 FADE
  188. 20605 VARNAME
  189. 20610 FADE
  190. 20699 REM ~~~~> Quit
  191. 20700 FADE
  192. 20799 REM ~~~~> Dec nbhits
  193. 20800 IF
  194. 20805 IF
  195. 20810 GOTO
  196. 20899 REM ~~~~> Inc nbhits
  197. 20900 IF
  198. 20905 IF
  199. 20910 GOTO
  200. 2099 REM ~~~~> Normal block
  201. 20999 REM ~~~~> Select one brick
  202. 21 DIM
  203. 210 SPRITE
  204. 2100 IF
  205. 21000 SET LINE
  206. 21005 IF
  207. 21010 IF
  208. 21015 VARNAME
  209. 2105 IF
  210. 2110 RETURN
  211. 21100 HIDE
  212. 21105 FOR
  213. 21110 IF
  214. 21115 NEXT
  215. 21120 SHOW
  216. 21200 PAPER
  217. 21205 IF
  218. 21210 RETURN
  219. 21300 SPRITE
  220. 21305 AUTO BACK
  221. 21310 VARNAME
  222. 21315 NEXT
  223. 21325 INK
  224. 21330 INK
  225. 21335 INK
  226. 21340 INK
  227. 21341 INK
  228. 21342 INK
  229. 21343 INK
  230. 21345 VARNAME
  231. 21355 GOSUB
  232. 21360 SET ZONE
  233. 21365 LIMIT MOUSE
  234. 21370 RETURN
  235. 215 NEXT
  236. 2599 REM ~~~~> Bomb
  237. 2600 IF
  238. 2605 IF
  239. 2610 VARNAME
  240. 2615 RETURN
  241. 2650 REM  anim 2,"(12,2)(13,2)(14,2)(13,2)(12,2)(11,2)(10,2)(9,2)(8,2)(9,2)(10,2)(11,2)l" : anim on 2
  242. 2655 BOOM
  243. 2660 WAIT
  244. 2699 REM ~~~~> Super ball
  245. 2700 IF
  246. 2705 RETURN
  247. 2799 REM ~~~~> Reverse action of mouse
  248. 2800 IF
  249. 2805 VARNAME
  250. 2810 IF
  251. 2815 X MOUSE
  252. 2899 REM ~~~~> Hyperspace
  253. 2900 IF
  254. 2905 VARNAME
  255. 2910 VARNAME
  256. 2915 RETURN
  257. 297 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  258. 298 REM       Creates title sprite
  259. 299 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  260. 2999 REM ~~~~> Explosion
  261. 3 REM *            ORBIT             *
  262. 300 EXTENSION (Index #0) (Token 0x80)
  263. 3000 IF
  264. 3005 MOVE
  265. 3010 SPRITE
  266. 3015 VARNAME
  267. 3020 VARNAME
  268. 3025 IF
  269. 3030 GOSUB
  270. 3035 WHILE
  271. 3040 SPRITE
  272. 3045 RETURN
  273. 305 VARNAME
  274. 3099 REM ~~~~> Indestructible
  275. 3100 SHOOT
  276. 3199 REM ~~~~> Allow Up and Down movements
  277. 3200 IF
  278. 3205 BELL
  279. 3210 RETURN
  280. 3299 REM ~~~~> Loose one ball (indestructible)
  281. 3300 MOVE
  282. 3305 BOOM
  283. 3310 SPRITE
  284. 3399 REM Freeze bat for 1 second
  285. 3400 IF
  286. 3405 RETURN
  287. 3499 REM ~~~~> Move bat at random
  288. 3500 IF
  289. 3505 BOOM
  290. 3510 RETURN
  291. 3599 REM ~~~~> Speeds up
  292. 3600 IF
  293. 3605 BOOM
  294. 3610 VARNAME
  295. 3699 REM ~~~~> Glue
  296. 3700 IF
  297. 3705 BELL
  298. 3799 REM ~~~~> Extend / shrink bat
  299. 3800 IF
  300. 3805 MOVE
  301. 3808 IF
  302. 3810 IF
  303. 3812 IF
  304. 3815 ANIM
  305. 3816 IF
  306. 3820 LIMIT MOUSE
  307. 3825 FOR
  308. 3830 REM f BAT=1 then anim 2,"(9,4)(10,4)(11,4)(10,4)l" else anim 2,"(12,6)(13,6)(14,6)(13,6)l"
  309. 3835 ANIM
  310. 3899 REM ~~~~> Slow
  311. 3900 IF
  312. 3905 BOOM
  313. 3910 VARNAME
  314. 3999 REM ~~~~> Extra bat
  315. 4 REM *                              *
  316. 4000 IF
  317. 4005 IF
  318. 4010 MOVE
  319. 4015 SPRITE
  320. 4020 FOR
  321. 4025 MOVE
  322. 4099 REM ~~~~> Exit to next level
  323. 4100 IF
  324. 4105 SPRITE
  325. 4110 FOR
  326. 4115 GOSUB
  327. 4120 VARNAME
  328. 4199 REM ~~~~> Resets all bricks (indestructable)
  329. 4200 IF
  330. 4205 BOOM
  331. 4210 FOR
  332. 4212 NEXT
  333. 4299 REM ~~~~> Small small bat
  334. 4300 IF
  335. 4305 MOVE
  336. 4310 IF
  337. 4315 ANIM
  338. 4320 LIMIT MOUSE
  339. 4325 FOR
  340. 4330 REM anim 2,"(5,1)(6,1)l"
  341. 4335 ANIM
  342. 4399 REM ~~~~> Bonus B
  343. 4400 IF
  344. 4405 VARNAME
  345. 4499 REM ~~~~> Bonus O
  346. 4500 IF
  347. 4505 BELL
  348. 4510 RETURN
  349. 4599 REM ~~~~> Bonus N
  350. 4600 IF
  351. 4605 BELL
  352. 4610 RETURN
  353. 4699 REM ~~~~> Bonus U
  354. 4700 IF
  355. 4705 BELL
  356. 4710 RETURN
  357. 4799 REM ~~~~> Bonus S
  358. 4800 IF
  359. 4805 BELL
  360. 4810 IF
  361. 4815 MOVE
  362. 4820 FLASH
  363. 4825 VARNAME
  364. 4830 FOR
  365. 4835 FLASH
  366. 4840 RETURN
  367. 497 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  368. 498 REM             TITLE PAGE
  369. 499 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  370. 49987 REM 
  371. 49988 REM 
  372. 49989 REM 
  373. 49990 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  374. 49991 REM      Ball movement definition
  375. 49992 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  376. 49997 REM 
  377. 49998 REM ~~~~> Slow
  378. 49999 REM 
  379. 5 REM *        By  F. Lionet         *
  380. 500 MUSIC
  381. 50000 DATA
  382. 50001 DATA
  383. 50002 DATA
  384. 50003 DATA
  385. 50004 DATA
  386. 50005 DATA
  387. 50006 DATA
  388. 50007 DATA
  389. 50008 DATA
  390. 50009 DATA
  391. 50010 DATA
  392. 50011 DATA
  393. 50047 REM 
  394. 50048 REM ~~~~> Slow but not that much
  395. 50049 REM 
  396. 50050 DATA
  397. 50051 DATA
  398. 50052 DATA
  399. 50053 DATA
  400. 50054 DATA
  401. 50055 DATA
  402. 50056 DATA
  403. 50057 DATA
  404. 50058 DATA
  405. 50059 DATA
  406. 50060 DATA
  407. 50061 DATA
  408. 50097 REM 
  409. 50098 REM ~~~~> Medium speed
  410. 50099 REM 
  411. 501 CLS
  412. 50100 DATA
  413. 50101 DATA
  414. 50102 DATA
  415. 50103 DATA
  416. 50104 DATA
  417. 50105 DATA
  418. 50106 DATA
  419. 50107 DATA
  420. 50108 DATA
  421. 50109 DATA
  422. 50110 DATA
  423. 50111 DATA
  424. 50147 REM 
  425. 50148 REM ~~~~> Medium well speed
  426. 50149 REM 
  427. 50150 DATA
  428. 50151 DATA
  429. 50152 DATA
  430. 50153 DATA
  431. 50154 DATA
  432. 50155 DATA
  433. 50156 DATA
  434. 50157 DATA
  435. 50158 DATA
  436. 50159 DATA
  437. 50160 DATA
  438. 50161 DATA
  439. 50197 REM 
  440. 50198 REM ~~~~> Hi speed
  441. 50199 REM 
  442. 50200 DATA
  443. 50205 DATA
  444. 50210 DATA
  445. 50215 DATA
  446. 50220 DATA
  447. 50225 DATA
  448. 50230 DATA
  449. 50235 DATA
  450. 50240 DATA
  451. 50245 DATA
  452. 50250 DATA
  453. 50255 DATA
  454. 50297 REM 
  455. 50298 REM ~~~~> Unplayable speed
  456. 50299 REM 
  457. 50300 DATA
  458. 50305 DATA
  459. 50310 DATA
  460. 50315 DATA
  461. 50320 DATA
  462. 50325 DATA
  463. 50330 DATA
  464. 50335 DATA
  465. 50340 DATA
  466. 50345 DATA
  467. 50350 DATA
  468. 50355 DATA
  469. 505 SPRITE
  470. 510 WHILE
  471. 515 TIMER
  472. 520 WHILE
  473. 525 WEND
  474. 530 PAPER
  475. 535 PEN
  476. 540 PEN
  477. 545 CDOWN
  478. 546 CDOWN
  479. 550 SCREEN COPY
  480. 555 MOVE Y
  481. 560 FOR
  482. 565 TIMER
  483. 570 WHILE
  484. 575 VARNAME
  485. 580 NEXT
  486. 585 FADE
  487. 590 FADE
  488. 595 IF
  489. 59987 REM 
  490. 59988 REM 
  491. 59989 REM 
  492. 59990 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  493. 59991 REM          Rebounds tables
  494. 59992 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  495. 59997 REM 
  496. 59998 REM ~~~~> On the bats
  497. 59999 REM Normal
  498. 6 REM *   Graphics by D. McLachlan   *
  499. 600 IF
  500. 60000 DATA
  501. 60005 DATA
  502. 60009 REM Big
  503. 60010 DATA
  504. 60015 DATA
  505. 60019 REM Small
  506. 60020 DATA
  507. 60025 DATA
  508. 60097 REM 
  509. 60098 REM ~~~~> On the walls
  510. 60099 REM 
  511. 60100 DATA
  512. 60105 DATA
  513. 60110 DATA
  514. 60115 DATA
  515. 60120 DATA
  516. 60197 REM 
  517. 60198 REM ~~~~> On the blocs
  518. 60199 REM 
  519. 602 IF
  520. 60200 DATA
  521. 60205 DATA
  522. 60210 DATA
  523. 60215 DATA
  524. 60220 DATA
  525. 605 DEFAULT
  526. 60997 REM 
  527. 60998 REM ~~~~> Effects of blocs (adresses of lines)
  528. 60999 REM 
  529. 61000 DATA
  530. 61005 DATA
  531. 61010 DATA
  532. 61015 DATA
  533. 62000 REM ****** Orbit instructions *******
  534. 62001 UPDATE
  535. 62002 LOGIC
  536. 62003 PEN
  537. 62004 RESTORE
  538. 62009 LOCATE
  539. 62020 LOCATE
  540. 62030 PRINT
  541. 62050 PRINT
  542. 62051 PRINT
  543. 62052 INK
  544. 62053 POLYGON
  545. 62054 VARNAME
  546. 62055 SPRITE
  547. 62061 FADE
  548. 62062 LOGIC
  549. 62070 REPEAT
  550. 62080 IF
  551. 62090 IF
  552. 62100 VARNAME
  553. 62105 SCREEN COPY
  554. 62110 UNTIL
  555. 62120 LOGIC
  556. 62500 LOGIC
  557. 62510 LOCATE
  558. 62520 RETURN
  559. 63000 DATA
  560. 63010 DATA
  561. 63020 DATA
  562. 63030 DATA
  563. 63040 DATA
  564. 63050 DATA
  565. 63060 DATA
  566. 63070 DATA
  567. 63080 DATA
  568. 63090 DATA
  569. 63100 DATA
  570. 63110 DATA
  571. 63120 DATA
  572. 63130 DATA
  573. 63140 DATA
  574. 63150 DATA
  575. 63160 DATA
  576. 63170 DATA
  577. 63180 DATA
  578. 63190 DATA
  579. 63200 DATA
  580. 63210 DATA
  581. 63220 DATA
  582. 63230 DATA
  583. 63240 DATA
  584. 63250 DATA
  585. 63260 DATA
  586. 63270 DATA
  587. 7 REM *                              *
  588. 8 REM *  STOS / (c) Jawx / Mandarin  *
  589. 9 REM ***********31/7/1988************
  590. 97 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  591. 98 REM      Variables initialisation
  592. 99 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  593. 9900 END
  594. 995 REM 
  595. 996 REM 
  596. 997 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  597. 998 REM              One game
  598. 999 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  599. 9990 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  600. 9991 REM           Other routines
  601. 9992 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  602. 9997 REM 
  603. 9998 REM ~~~~> Draw main screen
  604. 9999 REM 
  605.